package com.hsmw.schedule.mapper;

import com.hsmw.domain.HsmwOrderVehicleRelation;
import com.hsmw.domain.vo.DriverCountVO;
import com.hsmw.domain.vo.PMGoingOrderVO;
import com.hsmw.domain.vo.PMOrderCountVO;
import com.hsmw.schedule.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 订单车辆关系表 Mapper 接口
 * </p>
 *
 * @author WD
 * @since 2021-02-02
 */
@Repository
public interface HsmwOrderVehicleRelationMapper extends com.hsmw.common.base.BaseMapper<HsmwOrderVehicleRelation> {

    List<DriverOrderInfoVO> getOrderListByParam(HashMap param);

    List<DriverOrderResultVO> getOrderInfoStatistics(HashMap param);

    List<CurrentOrderInfoVO> getGoingOrderListByParam(HashMap param);

    List<PMOrderCountVO> selectOrderListByParam(HashMap param);

    List<PMGoingOrderVO> selectGOingOrderListByParam(HashMap param);

    List<DriverCountVO> getChildOrderDrivers(HashMap param);

    List<OrderManagerDriverVO> getChildDriversInfo(HashMap param);


    List<HsmwOrderVehicleRelation> unSetUplist();


    List<DriverCountVO> getDriversByOrderInfo(HashMap param);

    List<Double> findSumVolume(String id);

    Double findSumVolumeByLeasing(String id);

    Double findSumRealVolume();

    List<DriverOrderResultVO> getCancelOrderInfoStatistics(HashMap param);

    List<HomeVolume> findSumMovePumpCountByVehicleId(String vehicleId, String year, String month);

    int getOrderCountByUserId();

    Integer findDriverOrderOnCancleCount(@Param("driverLineChart")  DriverLineChart driverLineChart);

}
